/*******************************************************************************************

	R&Q plugin API header

	Original declarations by rejetto         13.09.2002
	Several additions by Shyr and Rapid D
	Converted to C by OverQuantum            17.05.2006 - 28.08.2007

*******************************************************************************************/


#define  APIversion  4

         // whatlist
#define  PL_ROASTER          1
#define  PL_VISIBLELIST      2
#define  PL_INVISIBLELIST    3
#define  PL_TEMPVISIBLELIST  4
#define  PL_IGNORELIST       5
#define  PL_DB               6
#define  PL_NIL              7  // not in list

         // connection state
#define  PCS_DISCONNECTED     1
#define  PCS_CONNECTED        2
#define  PCS_CONNECTING       3

         // whatwindow
#define  PW_ROASTER           1
#define  PW_CHAT              2
#define  PW_PREFERENCES       3

         // status
#define  PS_ONLINE            0
#define  PS_OCCUPIED          1
#define  PS_DND               2
#define  PS_NA                3
#define  PS_AWAY              4
#define  PS_F4C               5  // free for chat
#define  PS_OFFLINE           6
#define  PS_UNKNOWN           7

// added by Rapid D
#define  PS_EVIL              8
#define  PS_DEPRESS           9

         // visibility
#define  PV_INVISIBLE         0
#define  PV_PRIVACY           1
#define  PV_NORMAL            2
#define  PV_ALL               3

// added by Rapid D
#define  PV_CL                4

         // messages
#define  PM_GET     1    // asking data
#define  PM_DATA    2    // posting datas (reply)
#define  PM_EVENT   3    // event notification
#define  PM_ABORT   4    // abort event (reply)
#define  PM_CMD     5    // exec command
#define  PM_ACK     6    // ack to request (reply)
#define  PM_ERROR   7    // error (reply)

         // events
#define  PE_INITIALIZE           1
#define  PE_FINALIZE             2
#define  PE_PREFERENCES          3
#define  PE_CONNECTED            4
#define  PE_DISCONNECTED         5
#define  PE_MSG_GOT              6
#define  PE_MSG_SENT             7
#define  PE_CONTACTS_GOT         8
#define  PE_CONTACTS_SENT        9
#define  PE_URL_GOT             10
#define  PE_URL_SENT            11
#define  PE_ADDEDYOU_GOT        12
#define  PE_ADDEDYOU_SENT       13
#define  PE_AUTHREQ_GOT         14
#define  PE_AUTHREQ_SENT        15
#define  PE_AUTH_GOT            16
#define  PE_AUTH_SENT           17
#define  PE_AUTHDENIED_GOT      18
#define  PE_AUTHDENIED_SENT     19
#define  PE_GCARD_GOT           20
#define  PE_GCARD_SENT          21
#define  PE_AUTOMSG_GOT         22
#define  PE_AUTOMSG_SENT        23
#define  PE_AUTOMSG_REQ_GOT     24
#define  PE_AUTOMSG_REQ_SENT    25
#define  PE_EMAILEXP_GOT        26
#define  PE_EMAILEXP_SENT       27
#define  PE_LIST_ADD            28
#define  PE_LIST_REMOVE         29
#define  PE_STATUS_CHANGED      30
#define  PE_USERINFO_CHANGED    31
#define  PE_VISIBILITY_CHANGED  32
#define  PE_WEBPAGER_GOT        33
#define  PE_WEBPAGER_SENT       34
#define  PE_FROM_MIRABILIS      35
#define  PE_UPDATE_INFO         36

// added by Rapid D
#define  PE_SELECTTAB          50
#define  PE_DESELECTTAB        51
#define  PE_CLOSETAB           52
#define  PE_XSTATUSMSG_SENDING 223
#define  PE_XSTATUS_REQ_GOT    224
#define  PE_QUIT               255


         // get
#define  PG_USER               01
#define  PG_CONTACTINFO        02
#define  PG_DISPLAYED_NAME     03
#define  PG_TIME               04
#define  PG_LIST               05
#define  PG_NOF_UINLISTS       06
#define  PG_UINLIST            07
#define  PG_AWAYTIME           08
#define  PG_ANDRQ_PATH         09
#define  PG_USER_PATH          10
#define  PG_ANDRQ_VER          11
#define  PG_ANDRQ_VER_STR      12
#define  PG_USERTIME           13
#define  PG_CONNECTIONSTATE    14
#define  PG_WINDOW             15
#define  PG_AUTOMSG            16

// added by Rapid D
#define  PG_TRANSLATE          101
#define  PG_THEME_PIC          102
#define  PG_STATUS             110
#define  PG_XSTATUS            111
#define  PG_RNQ_BUILD          211

// added by Shyr
#define  PG_CHAT_UIN           201
#define  PG_CHAT_XYZ           202

         // acks
#define  PA_OK                01

         // errors
#define  PERR_ERROR          01
#define  PERR_BAD_REQ        02
#define  PERR_NOUSER         03
#define  PERR_UNEXISTENT     04
#define  PERR_FAILED_FOR     05
#define  PERR_UNK_REQ        06

         // commands         
#define  PC_SEND_MSG         01
#define  PC_SEND_CONTACTS    02
#define  PC_SEND_ADDEDYOU    03
#define  PC_LIST_ADD         04  
#define  PC_LIST_REMOVE      05
#define  PC_SET_STATUS       06
#define  PC_SET_VISIBILITY   07
#define  PC_QUIT             08
#define  PC_CONNECT          09
#define  PC_DISCONNECT       10
#define  PC_SET_AUTOMSG      11
#define  PC_SEND_AUTOMSG_REQ 12

// added by Rapid D
#define  PC_TAB_ADD           20
#define  PC_TAB_MODIFY        21
#define  PC_TAB_DELETE        22
#define  PC_PLAYSOUND        101
#define  PC_PLAYSOUNDFN      102
#define  PC_RELOAD_THEME     107
#define  PC_RELOAD_LANG      108
#define  PC_ADD_MSG          111
#define  PC_ADD_TO_INPUT     112
#define  PC_SET_XSTATUS      206

// added by Shyr
#define  PC_ADDBUTTON        201
#define  PC_MODIFY_BUTTON    202
#define  PC_DELBUTTON        203


// message flags
#define  IF_multiple   0x00000001   // multiple recipients
#define  IF_offline    0x00000002   // sent while you were offline
#define  IF_urgent     0x00000004   // send msg urgent
#define  IF_noblink    0x00000008   // send to contact list

#define  IF_unicode    0x00000010   // msg in Unicode
#define  IF_simple     0x00000020   // msg in Old-style
#define  IF_bin        0x00000040   // msg is not Text string - dont crypt :)
#define  IF_encrypt    0x00000080   // msg was encrypted!

#define  IF_antispam1  0x08000000   // antispam-bot1
#define  IF_antispam2  0x10000000   // antispam-bot2

#define  IF__reserved  0xE7FFFF00   // still unused
